package com.hex.ds.hdtp.core.app.data.configuration.converter;

import com.hex.ds.hdtp.core.app.data.configuration.dto.requestDto.TableConvertRequestDto;
import com.hex.ds.hdtp.core.app.data.configuration.dto.response.TableConvertResponseDto;
import com.hex.ds.hdtp.core.inf.data.configuration.po.TableConvertPo;
import org.mapstruct.Mapper;

import java.util.List;

/**
 * @Package com.hex.ds.hdtp.core.app.preparation.converter
 * @ClassName IConvertConverter
 * @Description 转换配置-DTO对象转换PO转换器
 * @Author yh.wan
 * @Date 2023/8/7 16:57
 * @Version v1.0
 **/
@Mapper(componentModel = "spring")
public interface ITableConvertConverter {

    /**
     * @Method toPo
     * @Param
     * @param requestDto
     * @Return com.hex.ds.hdtp.core.inf.data.configuration.po.TableConvertPo
     * @Description RequestDto对象转为Po对象
     * @Author Wang zhihao
     * @Date 2023/8/14 20:06
     * @Version V1.0
     */
    TableConvertPo toPo(TableConvertRequestDto requestDto);

    /**
     * @Method toDto
     * @Param
     * @param tableConvertPo
     * @Return com.hex.ds.hdtp.core.app.data.configuration.dto.response.TableConvertResponseDto
     * @Description Po对象转为ResponseDto对象
     * @Author Wang zhihao
     * @Date 2023/8/14 20:06
     * @Version V1.0
     */
    TableConvertResponseDto toDto(TableConvertPo tableConvertPo);

    /**
     * @Method toList
     * @Param
     * @param tableConvertPoList
     * @Return java.util.List<com.hex.ds.hdtp.core.app.data.configuration.dto.response.TableConvertResponseDto>
     * @Description Po对象集合转为ResponseDto对象集合
     * @Author Wang zhihao
     * @Date 2023/8/14 20:14
     * @Version V1.0
     */
    List<TableConvertResponseDto> toList(List<TableConvertPo> tableConvertPoList);
}
